
package punchdownloader.interfaces;

import java.awt.PopupMenu;
import javax.swing.JPopupMenu;

/**
 *
 * Interface que representa o icone ao lado do relogio (System Tray).
 * 
 * @author Kennedy
 */
public interface SysTrayInterface {
    
    /**
     * Cria o objeto TrayIcon
     */
    public void criarTrayIcon();
    
    /**
     * Adiciona o TrayIcon no System Tray.
     */
    public void mostrarTrayIcon();
    
    /**
     * Remove o TrayIcon do System Tray.
     */
    public void esconderTrayIcon();
    
    /**
     * Adiciona um Menu Popup ao Tray Icon.
     * @param Jpm JPopupMenu para adicionar.
     */
    public void setPopupMenu(JPopupMenu Jpm);
    
    /**
     * Adiciona um Menu Popup ao Tray Icon.
     * @param pm PopupMenu para adicionar.
     */
    public void setPopupMenu(PopupMenu pm);
    
    /**
     * Checa se o sistema operacional tem suporte a Tray Icon.
     * @return <b>True</b> se o sistema tiver suporte.<br><b>False</b> se não tiver.
     */
    public boolean chechSuport();
    
    /**
     * Faz com que o Tray Icon exiba uma mensagem.
     * @param titulo String com o titulo da mensagem.
     * @param msg String contendo a mensagem.
     * @param tipomsg Inteiro que cotenha o tipo da Mensagem. <br>Ex:  ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, or PLAIN_MESSAGE
     */
    public void mostrarMensagem(String titulo, String msg, int tipomsg);

    /**
     * Adiciona um tooltip ao Tray Icon.
     * @param tooltip String contendo o conteudo a ser exibido pelo tooltip.
     */
    public void setToolTip(String tooltip);

}
